使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC
作者 | JiekeXu
来源 | JiekeXu DBA之路(ID: JiekeXu_IT)
大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 使用 VMware 16 RHEL7.7 虚拟机静默安装 Oracle 19c RAC ,欢迎点击上方蓝字关注我,标星或置顶,更多干货第一时间到达!
虚拟机安装以及一些基础配置,前面一篇文章已经写过了,这里不在重复,但有些关键步骤这里再次提一下即可。不管安装 11g、12c、19c、21c RAC,只要仔细认真对待,便可以安装成功。推荐先看前段时间的这篇《一步步安装 Oracle 19c RAC 》。
Linux 64 位 19.12 RU :https://www.modb.pro/download/137693
Linux 64 位 RAC 安装包:https://www.modb.pro/download/5713
1.新建用户,组,目录 并修改 sshd_config 快速登录
1.1 新建用户和组
groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
groupadd -g 54330 racdba
useradd -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba -u 10000 oracle
useradd -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba -u 10001 grid
echo "Oracle_19C" | passwd --stdin oracle
echo "Oracle_19C" | passwd --stdin grid
1.2 创建目录
mkdir -p /u01/app/19.0.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /home/soft
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01
chmod -R 775 /home/soft
chown -R oracle:oinstall /home/soft
1.3 环境变量
cat >> /home/oracle/.bash_profile << "EOF"
################ add ORACLE_PATH #########################
export PS1="`whoami`@`hostname`:"'[$PWD]$'
export HOST=`hostname | cut -f1 -d"."`
export PS1='${HOST}:$PWD(${ORACLE_SID})$ '
export LANG=en_US
umask 022
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_HOSTNAME=jiekexu-r1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=JiekeXu1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
alias sas='sqlplus / as sysdba'
EOF
--配置LoginGraceTime参数为0, 将timeout wait设置为无限制
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_`date +"%Y%m%d_%H%M%S"` && sed -i '/#LoginGraceTime 2m/ s/#LoginGraceTime 2m/LoginGraceTime 0/' /etc/ssh/sshd_config && grep LoginGraceTime /etc/ssh/sshd_config
--加快SSH登陆速度,禁用DNS
cp /etc/ssh/sshd_config /etc/ssh/sshd_config_`date +"%Y%m%d_%H%M%S"` && sed -i '/#UseDNS yes/ s/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config && grep UseDNS /etc/ssh/sshd_config
2.修改 hosts 文件并配置网卡
2.1 hosts 配置
cp /etc/hosts /etc/hosts_`date +"%Y%m%d_%H%M%S"`
echo '#public ip
192.168.75.128 jiekexu-r1
192.168.75.129 jiekexu-r2
#private ip
10.10.10.128 jiekexu-r1-priv
10.10.10.129 jiekexu-r2-priv
#vip
192.168.75.130 jiekexu-r1-vip
192.168.75.131 jiekexu-r2-vip
#scanip
192.168.75.132 jiekexu-racscan'>> /etc/hosts
2.2 public IP 和 private 私网配置
[root@jiekexu-r1 network-scripts]# more ifcfg-ens32
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="yes"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="e8332396-7724-410f-9887-1fc0e27fc818"
DEVICE="ens32"
ONBOOT="yes"
GATEWAY="192.168.75.2"
IPADDR="192.168.75.128"
PREFIX="24"
IPV6_PRIVACY="no"
[root@jiekexu-r1 network-scripts]# more ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
HWADDR="00:0C:29:2C:79:D8"
uuid="c96bc909-188e-ec64-3a96-6a90982b08ad"
ONBOOT=yes
GATEWAY="10.10.10.1"
IPADDR="10.10.10.128"
PREFIX="24"
3.共享存储配置
3.1 命令行新建存储文件
这里暂且规划 3 块 3G OCR 盘,两块 10G DATA 数据盘,一块 10G ARCH 归档盘。
vmware-vdiskmanager.exe -c -s 3GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-ocr01.vmdk"
vmware-vdiskmanager.exe -c -s 3GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-ocr02.vmdk"
vmware-vdiskmanager.exe -c -s 3GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-ocr03.vmdk"
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-data01.vmdk"
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-data02.vmdk"
vmware-vdiskmanager.exe -c -s 10GB -a lsilogic -t 2 "D:\VMware_File\Sharedisk19C\share-arch01.vmdk"
以管理员运行 cmd 命令行进入到 VM ware 安装目录下执行以上命令
C:\WINDOWS\system32>cd C:\Program Files (x86)\VMware\VMware Workstation
3.2关闭两台虚拟机,编辑两台主机的相关 vmx 配置文件
分别将以下配置添加至两台主机的 vmx 配置文件
#shared disks configurediskLib.dataCacheMaxSize=0
diskLib.dataCacheMaxReadAheadSize=0
diskLib.dataCacheMinReadAheadSize=0
diskLib.dataCachePageSize=4096
diskLib.maxUnsyncedWrites = "0"
disk.locking = "FALSE"
scsi1.sharedBus = "virtual"
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1:0.mode = "independent-persistent"
scsi1:0.deviceType = "disk"
scsi1:0.present = "TRUE"
scsi1:0.fileName = "D:\VMware_File\Sharedisk19C\share-ocr01.vmdk"
scsi1:0.redo = ""
scsi1:1.mode = "independent-persistent"
scsi1:1.deviceType = "disk"
scsi1:1.present = "TRUE"
scsi1:1.fileName = "D:\VMware_File\Sharedisk19C\share-ocr02.vmdk"
scsi1:1.redo = ""
scsi1:2.mode = "independent-persistent"
scsi1:2.deviceType = "disk"
scsi1:2.present = "TRUE"
scsi1:2.fileName = "D:\VMware_File\Sharedisk19C\share-ocr03.vmdk"
scsi1:2.redo = ""
scsi1:3.mode = "independent-persistent"
scsi1:3.deviceType = "disk"
scsi1:3.present = "TRUE"
scsi1:3.fileName = "D:\VMware_File\Sharedisk19C\share-data01.vmdk"
scsi1:3.redo = ""
scsi1:4.mode = "independent-persistent"
scsi1:4.deviceType = "disk"
scsi1:4.present = "TRUE"
scsi1:4.fileName = "D:\VMware_File\Sharedisk19C\share-data02.vmdk"
scsi1:4.redo = ""
scsi1:5.mode = "independent-persistent"
scsi1:5.deviceType = "disk"
scsi1:5.present = "TRUE"
scsi1:5.fileName = "D:\VMware_File\Sharedisk19C\share-arch01.vmdk"
scsi1:5.redo =file ""
fileName 指定虚拟机共享存储的位置及文件名。"D:\VMware_File\Sharedisk19C\share-arch01.vmdk"
3.3开启虚拟机
3.4 使用 multipath+udev 配置存储
参考前面的文章配置即可。
[root@jiekexu-r1 network-scripts]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
+-sda1 8:1 0 1G 0 part /boot
+-sda2 8:2 0 59G 0 part
+-rhel_jiekexu--test-root 253:0 0 35.6G 0 lvm /
+-rhel_jiekexu--test-swap 253:1 0 6G 0 lvm [SWAP]
+-rhel_jiekexu--test-home 253:2 0 17.4G 0 lvm /home
sdb 8:16 0 3G 0 disk
sdc 8:32 0 3G 0 disk
sdd 8:48 0 3G 0 disk
sde 8:64 0 10G 0 disk
sdf 8:80 0 10G 0 disk
sdg 8:96 0 10G 0 disk
sr0 11:0 1 4.2G 0 rom
4.操作系统配置
4.1挂载光盘镜像配置 yum 源
mkdir /mnt/dvdmount /dev/sr0 /mnt/dvd
[root@jiekexu-r1 network-scripts]# ls -lh /mnt/dvd
total 974K
dr-xr-xr-x 4 root root 2.0K Jul 23 2019 addons
dr-xr-xr-x 3 root root 2.0K Jul 23 2019 EFI
-r--r--r-- 1 root root 8.1K Jul 23 2019 EULA
-r--r--r-- 1 root root 1.5K Jul 23 2019 extra_files.json
-r--r--r-- 1 root root 18K Jul 23 2019 GPL
dr-xr-xr-x 3 root root 2.0K Jul 23 2019 images
dr-xr-xr-x 2 root root 2.0K Jul 23 2019 isolinux
dr-xr-xr-x 2 root root 2.0K Jul 23 2019 LiveOS
-r--r--r-- 1 root root 114 Jul 23 2019 media.repo
dr-xr-xr-x 2 root root 924K Jul 23 2019 Packages
dr-xr-xr-x 2 root root 2.0K Jul 23 2019 repodata
-r--r--r-- 1 root root 3.3K Jul 3 2019 RPM-GPG-KEY-redhat-beta
-r--r--r-- 1 root root 3.2K Jul 3 2019 RPM-GPG-KEY-redhat-release
-r--r--r-- 1 root root 1.8K Jul 23 2019 TRANS.TBL
/mnt/dvd/ 则是配置 yum 仓库要用到的路径
cd /etc/yum.repos.d/
cat << EOF >> /etc/yum.repos.d/redhat.repo
[rhel7]name=jiekexu repobaseurl=file:///mnt/dvd/gpgcheck=0
EOF
yum clean all
yum list | grep zsh
4.2 配置多路径
##安装multipath
yum install -y device-mapper*
#生成配置文件
mpathconf --enable --with_multipathd y
[root@jiekexu-r1 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
+-sda1 8:1 0 1G 0 part /boot
+-sda2 8:2 0 59G 0 part
+-rhel_jiekexu--test-root 253:0 0 35.6G 0 lvm /
+-rhel_jiekexu--test-swap 253:1 0 6G 0 lvm [SWAP]
+-rhel_jiekexu--test-home 253:2 0 17.4G 0 lvm /home
sdb 8:16 0 3G 0 disk
sdc 8:32 0 3G 0 disk
sdd 8:48 0 3G 0 disk
sde 8:64 0 10G 0 disk
sdf 8:80 0 10G 0 disk
sdg 8:96 0 10G 0 disk
sr0 11:0 1 4.2G 0 rom /mnt/dvd
[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdb
36000c29714156f014c53bf30fbcc4162
[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdc
36000c296835807593a81c0c4597f64d6
[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdd
36000c29760b3f5110218e88d0fe6710c
[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sde
36000c29c671fc199d01bebc6e05e3270
[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdf
36000c291ffdcc7e2ea852fe4a4e29fcc
[root@jiekexu-r1 repodata]# /usr/lib/udev/scsi_id -g -u /dev/sdg
36000c29ddf7a88a288da95203aa0a929
##配置multipath,wwid 的值为上面获取的 scsi_id(multipath -v3 也可以查看到),alias 可自定义,这里配置 3 块 OCR 盘,2块DATA盘,一块 ARCH 盘。
cp /etc/multipath.conf /etc/multipath.conf.bak
配置文件中有以下内容:
defaults {
user_friendly_names yes
find_multipaths yes
}
blacklist {
}
如下需要在 blacklist 添加一行 devnode 信息,删除原有的 blacklist
cat <<EOF>> /etc/multipath.conf
blacklist {
devnode "^sda"
}
multipaths {
multipath {
wwid "36000c29714156f014c53bf30fbcc4162"
alias asm_ocr01
}
multipath {
wwid "36000c296835807593a81c0c4597f64d6"
alias asm_ocr02
}
multipath {
wwid "36000c29760b3f5110218e88d0fe6710c"
alias asm_ocr03
}
multipath {
wwid "36000c29c671fc199d01bebc6e05e3270"
alias asm_data01
}
multipath {
wwid "36000c291ffdcc7e2ea852fe4a4e29fcc"
alias asm_data02
}
multipath {
wwid "36000c29ddf7a88a288da95203aa0a929"
alias asm_arch01
}
}
EOF
##激活multipath多路径:
multipath -F
multipath -v2
multipath -ll
#查看状态
systemctl status multipathd.service
#创建多路径开机自启动服务
systemctl enable multipathd.service
[root@jiekexu-r1 mapper]# multipath -v3 | grep 3600
Aug 22 21:16:59 | sdb: uid = 36000c29714156f014c53bf30fbcc4162 (udev)
Aug 22 21:16:59 | sdc: uid = 36000c296835807593a81c0c4597f64d6 (udev)
Aug 22 21:16:59 | sdd: uid = 36000c29760b3f5110218e88d0fe6710c (udev)
Aug 22 21:16:59 | sde: uid = 36000c29c671fc199d01bebc6e05e3270 (udev)
Aug 22 21:16:59 | sdf: uid = 36000c291ffdcc7e2ea852fe4a4e29fcc (udev)
Aug 22 21:16:59 | sdg: uid = 36000c29ddf7a88a288da95203aa0a929 (udev)
36000c29714156f014c53bf30fbcc4162 33:0:0:0 sdb 8:16 1 undef undef VMware,
36000c296835807593a81c0c4597f64d6 33:0:1:0 sdc 8:32 1 undef undef VMware,
36000c29760b3f5110218e88d0fe6710c 33:0:2:0 sdd 8:48 1 undef undef VMware,
36000c29c671fc199d01bebc6e05e3270 33:0:3:0 sde 8:64 1 undef undef VMware,
36000c291ffdcc7e2ea852fe4a4e29fcc 33:0:4:0 sdf 8:80 1 undef undef VMware,
36000c29ddf7a88a288da95203aa0a929 33:0:5:0 sdg 8:96 1 undef undef VMware,
[root@jiekexu-r1 repodata]#
[root@jiekexu-r1 repodata]# mpathconf
multipath is enabled
find_multipaths is enabled
user_friendly_names is enabled
dm_multipath module is loaded
multipathd is running
4.3 配置 UDEV
cd /dev/mapper
[root@jiekexu-r1 mapper]# ll
total 0
lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_arch01 -> ../dm-8
lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_data01 -> ../dm-6
lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_data02 -> ../dm-7
lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_ocr01 -> ../dm-3
lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_ocr02 -> ../dm-4
lrwxrwxrwx 1 root root 7 Aug 22 21:15 asm_ocr03 -> ../dm-5
crw------- 1 root root 10, 236 Aug 22 19:44 control
lrwxrwxrwx 1 root root 7 Aug 22 19:44 rhel_jiekexu--test-home -> ../dm-2
lrwxrwxrwx 1 root root 7 Aug 22 19:44 rhel_jiekexu--test-root -> ../dm-0
lrwxrwxrwx 1 root root 7 Aug 22 19:44 rhel_jiekexu--test-swap -> ../dm-1
for i in asm_*; do
printf "%s %s\n" "$i" "$(udevadm info --query=all --name=/dev/mapper/"$i" | grep -i dm_uuid)" >>/dev/mapper/udev_info
done
while read -r line; do
dm_uuid=$(echo "$line" | awk -F'=' '{print $2}')
disk_name=$(echo "$line" | awk '{print $1}')
echo "KERNEL==\"dm-*\",ENV{DM_UUID}==\"${dm_uuid}\",SYMLINK+=\"${disk_name}\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\"" >>/etc/udev/rules.d/99-oracle-asmdevices.rules
done < /dev/mapper/udev_info
##重载udev
udevadm control --reload-rules
udevadm trigger --type=devices
ll /dev/asm*
lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_arch01 -> dm-8
lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_data01 -> dm-6
lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_data02 -> dm-7
lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_ocr01 -> dm-3
lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_ocr02 -> dm-4
lrwxrwxrwx 1 root root 4 Aug 22 21:26 /dev/asm_ocr03 -> dm-5
[root@jiekexu-r1 mapper]# more /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c29ddf7a88a288da95203aa0a929",SYMLINK+="asm_arch01",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c29c671fc199d01bebc6e05e3270",SYMLINK+="asm_data01",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c291ffdcc7e2ea852fe4a4e29fcc",SYMLINK+="asm_data02",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c29714156f014c53bf30fbcc4162",SYMLINK+="asm_ocr01",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c296835807593a81c0c4597f64d6",SYMLINK+="asm_ocr02",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-36000c29760b3f5110218e88d0fe6710c",SYMLINK+="asm_ocr03",OWNER="grid",GROUP="asmadmin",MODE="0660"
[root@jiekexu-r1 mapper]#
节点2
[root@jiekexu-r2 dev]# ll /dev/dm*
brw-rw----. 1 root disk 253, 0 Aug 22 21:32 /dev/dm-0
brw-rw----. 1 root disk 253, 1 Aug 22 21:32 /dev/dm-1
brw-rw----. 1 root disk 253, 2 Aug 22 21:32 /dev/dm-2
brw-rw----. 1 grid asmadmin 253, 3 Aug 22 21:32 /dev/dm-3
brw-rw----. 1 grid asmadmin 253, 4 Aug 22 21:32 /dev/dm-4
brw-rw----. 1 grid asmadmin 253, 5 Aug 22 21:32 /dev/dm-5
brw-rw----. 1 grid asmadmin 253, 6 Aug 22 21:32 /dev/dm-6
brw-rw----. 1 grid asmadmin 253, 7 Aug 22 21:32 /dev/dm-7
brw-rw----. 1 grid asmadmin 253, 8 Aug 22 21:32 /dev/dm-8
[root@jiekexu-r2 mapper]# ll
total 4
lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_arch01 -> ../dm-8
lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_data01 -> ../dm-6
lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_data02 -> ../dm-7
lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_ocr01 -> ../dm-3
lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_ocr02 -> ../dm-4
lrwxrwxrwx. 1 root root 7 Aug 22 21:32 asm_ocr03 -> ../dm-5
crw-------. 1 root root 10, 236 Aug 22 21:32 control
lrwxrwxrwx. 1 root root 7 Aug 22 21:32 rhel_jiekexu--r2-home -> ../dm-2
lrwxrwxrwx. 1 root root 7 Aug 22 21:32 rhel_jiekexu--r2-root -> ../dm-0
lrwxrwxrwx. 1 root root 7 Aug 22 21:32 rhel_jiekexu--r2-swap -> ../dm-1
-rw-r--r--. 1 root root 369 Aug 22 21:28 udev_info
5、操作系统检查
操作系统检查,可参考之前的文章第四章 19cRAC安装准备工作。
`[root@jiekexu-r1 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)`
[root@jiekexu-r2 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.7 (Maipo)
##内存
[root@jiekexu-r2 ~]# grep MemTotal /proc/meminfo | awk '{print $2}'
8154996
[root@jiekexu-r2 ~]#
[root@jiekexu-r2 ~]# dmidecode|grep -A5 "Memory Device"|grep Size|grep -v No |grep -v Range
Size: 8192 MB
##swap
[root@jiekexu-r1 ~]# free -h
total used free shared buff/cache available
Mem: 7.6G 550M 6.6G 12M 519M 7.0G
Swap: 6.0G 0B 6.0G
[root@jiekexu-r1 ~]# grep SwapTotal /proc/meminfo | awk '{print $2}'
6291452
[root@jiekexu-r2 ~]# free -h
total used free shared buff/cache available
Mem: 7.8G 627M 6.7G 12M 497M 6.9G
Swap: 7.9G 0B 7.9G
[root@jiekexu-r2 ~]# grep SwapTotal /proc/meminfo | awk '{print $2}'
8257532
##时区 主机名
[root@jiekexu-r2 ~]# timedatectl status
Local time: Tue 2021-08-24 09:42:32 CST
Universal time: Tue 2021-08-24 01:42:32 UTC
RTC time: Tue 2021-08-24 01:42:32
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: no
NTP synchronized: no
RTC in local TZ: no
DST active: n/a
[root@jiekexu-r2 ~]# hostnamectl status
Static hostname: jiekexu-r2
Icon name: computer-vm
Chassis: vm
Machine ID: 445856a0ecb7468cacc9e44b6c0b0130
Boot ID: a6fb4d7304c34687bdb8ab1986fc992d
Virtualization: vmware
Operating System: Red Hat Enterprise Linux Server 7.7 (Maipo)
CPE OS Name: cpe:/o:redhat:enterprise_linux:7.7:GA:server
Kernel: Linux 3.10.0-1062.el7.x86_64
Architecture: x86-64
--安装所需的 rmp 包
yum install -y bc* ntp* binutils* compat-libcap1* compat-libstdc++* dtrace-modules* dtrace-modules-headers* dtrace-modules-provider-headers* dtrace-utils* elfutils-libelf* elfutils-libelf-devel* fontconfig-devel* glibc* glibc-devel* ksh* libaio* libaio-devel* libdtrace-ctf-devel* libXrender* libXrender-devel* libX11* libXau* libXi* libXtst* libgcc* librdmacm-devel* libstdc++* libstdc++-devel* libxcb* make* net-tools* nfs-utils* python* python-configshell* python-rtslib* python-six* targetcli* smartmontools* sysstat* gcc* nscd* unixODBC* unzip readline tigervnc*
---检查
rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \
bc \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
fontconfig-devel \
glibc \
gcc \
gcc-c++ \
glibc \
glibc-devel \
ksh \
libstdc++ \
libstdc++-devel \
libaio \
libaio-devel \
libXrender \
libXrender-devel \
libxcb \
libX11 \
libXau \
libXi \
libXtst \
libgcc \
libstdc++-devel \
make \
sysstat \
unzip \
readline \
smartmontools | grep 'not installed' |column -t
--需单独安装此包
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
核心参数设置
/etc/sysctl.d/97-oracle-database-sysctl.conf
--在 Linux 7之前,内核参数文件是修改 /etc/sysctl.conf 文件,
--但在 Linux 7.x 之后发生了变化(/etc/sysctl.d/97-oracle-database-sysctl.conf):
--但仍然可以修改这个文件,没有什么不一样,官方文档中 19c 使用 97-oracle-database-sysctl.conf。
--生效方式:/sbin/sysctl --system
SHMMAX:单个共享内存段最大值(字节)
SHMMIN:单个共享内存段最小值(字节)
SHMMNI:系统共享内存段数量
SHMALL:可用共享内存的总数量(字节或者页面),以字节为单位,与 SHMMAX 一样,以页为单位,大小为 seil(SHMMAX/PAGE_SIZE)。一般 Linux 的 page 页为 4096.
SHMSEQ:每进程最大共享内存段数量
主要核心参数手工计算如下:
MEM=$(expr $(grep MemTotal /proc/meminfo|awk '{print $2}') \* 1024)
SHMALL=$(expr $MEM / $(getconf PAGE_SIZE))
SHMMAX=$(expr $MEM \* 3 / 5) # 这里配置为3/5 RAM大小
echo $MEM
echo $SHMALL
echo $SHMMAX
--min_free_kbytes=$(expr sqrt($MEM \* 16))
min_free_kbytes = sqrt(lowmem_kbytes * 16) = 4 * sqrt(lowmem_kbytes)(注:lowmem_kbytes即可认为是系统内存大小)
vm.nr_hugepages =(内存M/3+ASM内存大小4096M)/Hugepagesize M
#操作系统内存的1/3加上ASM实例内存4G。
#x86平台 Hugepagesize =2048即2M,linuxone平台Hugepagesize=1024 即1M
# 例x86平台64G内存 (64G*1024/3+4096M)/2M=12971
例x86平台32G内存 (32G*1024/3+4096M)/2M=7509
例x86平台16G内存 (16G*1024/3+4096M)/2M=4778
#linuxone平台 64G内存 (64G*1024/3+4096M)/1M=25942
memTotal=$(grep MemTotal /proc/meminfo | awk '{print $2}')
totalMemory=$((memTotal / 2048))
shmall=$((memTotal / 4))
if [ $shmall -lt 2097152 ]; then
shmall=2097152
fi
shmmax=$((memTotal * 1024 - 1))
if [ "$shmmax" -lt 4294967295 ]; then
shmmax=4294967295
fi
cat <<EOF>> /etc/sysctl.d/97-oracle-database-sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = $shmall
kernel.shmmax = $shmmax
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.wmem_default = 16777216
fs.aio-max-nr = 6194304
vm.min_free_kbytes=524288
vm.dirty_ratio=20
vm.dirty_background_ratio=3
vm.dirty_writeback_centisecs=100
vm.dirty_expire_centisecs=500
vm.swappiness=10
net.core.netdev_max_backlog = 30000
net.core.netdev_budget = 600
#vm.nr_hugepages =
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
net.ipv4.ipfrag_time = 60
net.ipv4.ipfrag_low_thresh=6291456
net.ipv4.ipfrag_high_thresh = 8388608
EOF
[root@jiekexu-r1 ~]# /sbin/sysctl --system
* Applying /usr/lib/sysctl.d/00-system.conf ...
* Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ...
kernel.yama.ptrace_scope = 0
* Applying /usr/lib/sysctl.d/50-default.conf ...
kernel.sysrq = 16
kernel.core_uses_pid = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.promote_secondaries = 1
net.ipv4.conf.all.promote_secondaries = 1
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
* Applying /usr/lib/sysctl.d/60-libvirtd.conf ...
fs.aio-max-nr = 1048576
* Applying /etc/sysctl.d/97-oracle-database-sysctl.conf ...
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8181903359
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.wmem_default = 16777216
fs.aio-max-nr = 6194304
vm.min_free_kbytes = 524288
vm.dirty_ratio = 20
vm.dirty_background_ratio = 3
vm.dirty_writeback_centisecs = 100
vm.dirty_expire_centisecs = 500
vm.swappiness = 10
net.core.netdev_max_backlog = 30000
net.core.netdev_budget = 600
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
net.ipv4.ipfrag_time = 60
net.ipv4.ipfrag_low_thresh = 6291456
net.ipv4.ipfrag_high_thresh = 8388608
* Applying /etc/sysctl.d/99-sysctl.conf ...
* Applying /etc/sysctl.conf ...
6、静默安装 GI
6.1 安装操作系统包 cvuqdisk
如果没有 cvuqdisk,群集验证实用程序(CVU)将无法找到共享磁盘,并且在运行群集验证实用程序时将收到 “Package cvuqdisk not installed” 错误。对于您的硬件(例如,x86_64或i386),请使用 cvuqdisk RPM。
[root@jiekexu-r1 ~]# cd /u01/app/19.0.0/grid/cv/rpm
[root@jiekexu-r1 rpm]# ll
total 12
-rw-r--r-- 1 grid oinstall 11412 Mar 13 2019 cvuqdisk-1.0.10-1.rpm
[root@jiekexu-r1 rpm]# export CVUQDISK_GRP=oinstall
[root@jiekexu-r1 rpm]# rpm -ivh cvuqdisk-1.0.10-1.rpm
Preparing... ################################# [100%]
Updating / installing...
1:cvuqdisk-1.0.10-1 ################################# [100%]
[root@jiekexu-r1 rpm]# scp /u01/app/19.0.0/grid/cv/rpm/cvuqdisk-1.0.10-1.rpm jiekexu-r2:/home/soft/
The authenticity of host 'jiekexu-r2 (192.168.75.129)' can't be established.
ECDSA key fingerprint is SHA256:FQQR4hFlkEWUNpTyB7nYfdCMPGN2PulHJW/P/I4n4f0.
ECDSA key fingerprint is MD5:30:c3:28:3a:44:f2:5b:cf:cf:72:79:33:2e:cf:ee:81.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'jiekexu-r2,192.168.75.129' (ECDSA) to the list of known hosts.
root@jiekexu-r2's password:
cvuqdisk-1.0.10-1.rpm 100% 11KB 3.3MB/s 00:00
[root@jiekexu-r1 rpm]# systemctl stop avahi-daemon.socket
[root@jiekexu-r2 rpm]# systemctl stop avahi-daemon.socket
6.2 互信
分别使用grid和oracle用户调用sshUserSetup.sh脚本配置SSH connectivity,根据提示输入密码 Oracle_19C。
$ cd $ORACLE_HOME/oui/prov/resources/scripts
<grid>$ ./sshUserSetup.sh -user grid -hosts "jiekexu-r1 jiekexu-r2" -advanced -confirm -noPromptPassphrase
cd /u01/app/19.0.0/grid/oui/prov/resources/scripts
<oracle>$ ./sshUserSetup.sh -user oracle -hosts "jiekexu-r1 jiekexu-r2" -advanced -confirm -noPromptPassphrase
分别使用grid和oracle用户验证SSH connectivity:
<grid>$ for h in jiekexu-r1 jiekexu-r1-priv jiekexu-r2 jiekexu-r2-priv;do
ssh -l grid -o StrictHostKeyChecking=no $h date;
done
<oracle>$ for h in jiekexu-r1 jiekexu-r1-priv jiekexu-r2 jiekexu-r2-priv;do
ssh -l oracle -o StrictHostKeyChecking=no $h date;
done
6.3 GI配置预检查
在配置GRID前,使用grid用户执行runcluvf.sh脚本检查环境,修复不满足安装需求的项。
su - grid
/u01/app/19.0.0/grid/runcluvfy.sh stage -pre crsinst -n jiekexu-r1,jiekexu-r2 -fixup -verbose
$/u01/app/19.0.0/grid/runcluvfy.sh stage -pre crsinst -n jiekexu-r1,jiekexu-r2 -method root
Enter "ROOT" password:
6.3.1 增加Swap分区
1.创建交换分区的文件:增加2G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小。
#dd if=/dev/zero of=/home/swapfile bs=1M count=2048
2.设置交换分区文件:
# mkswap /home/swapfile #建立swap的文件系统
3.立即启用交换分区文件:
# swapon /home/swapfile #启用swap文件
4.使系统开机时自启用,在文件/etc/fstab中添加一行:
echo '/home/swapfile swap swap defaults 0 0' >> /etc/fstab
5.完成
[grid@jiekexu-r1:/u01/app/19.0.0/grid]$ /u01/app/19.0.0/grid/runcluvfy.sh stage -pre crsinst -n jiekexu-r1,jiekexu-r2 -fixup -verbose
Verifying Physical Memory ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 7.7772GB (8155004.0KB) 8GB (8388608.0KB) passed
jiekexu-r1 7.62GB (7990132.0KB) 8GB (8388608.0KB) passed
Verifying Physical Memory ...PASSED
Verifying Available Physical Memory ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 6.953GB (7290788.0KB) 50MB (51200.0KB) passed
jiekexu-r1 6.5808GB (6900520.0KB) 50MB (51200.0KB) passed
Verifying Available Physical Memory ...PASSED
Verifying Swap Size ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 7.875GB (8257532.0KB) 7.7772GB (8155004.0KB) passed
jiekexu-r1 8GB (8388600.0KB) 7.62GB (7990132.0KB) passed
Verifying Swap Size ...PASSED
Verifying Free Space: jiekexu-r2:/usr,jiekexu-r2:/var,jiekexu-r2:/etc,jiekexu-r2:/sbin,jiekexu-r2:/tmp ...
Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/usr jiekexu-r2 / 47.5273GB 25MB passed
/var jiekexu-r2 / 47.5273GB 5MB passed
/etc jiekexu-r2 / 47.5273GB 25MB passed
/sbin jiekexu-r2 / 47.5273GB 10MB passed
/tmp jiekexu-r2 / 47.5273GB 1GB passed
Verifying Free Space: jiekexu-r2:/usr,jiekexu-r2:/var,jiekexu-r2:/etc,jiekexu-r2:/sbin,jiekexu-r2:/tmp ...PASSED
Verifying Free Space: jiekexu-r1:/usr,jiekexu-r1:/var,jiekexu-r1:/etc,jiekexu-r1:/sbin,jiekexu-r1:/tmp ...
Path Node Name Mount point Available Required Status
---------------- ------------ ------------ ------------ ------------ ------------
/usr jiekexu-r1 / 8.8099GB 25MB passed
/var jiekexu-r1 / 8.8099GB 5MB passed
/etc jiekexu-r1 / 8.8099GB 25MB passed
/sbin jiekexu-r1 / 8.8099GB 10MB passed
/tmp jiekexu-r1 / 8.8099GB 1GB passed
Verifying Free Space: jiekexu-r1:/usr,jiekexu-r1:/var,jiekexu-r1:/etc,jiekexu-r1:/sbin,jiekexu-r1:/tmp ...PASSED
Verifying User Existence: grid ...
Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed exists(10001)
jiekexu-r1 passed exists(10001)
Verifying Users With Same UID: 10001 ...PASSED
Verifying User Existence: grid ...PASSED
Verifying Group Existence: asmadmin ...
Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed exists
jiekexu-r1 passed exists
Verifying Group Existence: asmadmin ...PASSED
Verifying Group Existence: asmdba ...
Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed exists
jiekexu-r1 passed exists
Verifying Group Existence: asmdba ...PASSED
Verifying Group Existence: oinstall ...
Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed exists
jiekexu-r1 passed exists
Verifying Group Existence: oinstall ...PASSED
Verifying Group Membership: asmdba ...
Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 yes yes yes passed
jiekexu-r1 yes yes yes passed
Verifying Group Membership: asmdba ...PASSED
Verifying Group Membership: asmadmin ...
Node Name User Exists Group Exists User in Group Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 yes yes yes passed
jiekexu-r1 yes yes yes passed
Verifying Group Membership: asmadmin ...PASSED
Verifying Group Membership: oinstall(Primary) ...
Node Name User Exists Group Exists User in Group Primary Status
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r2 yes yes yes yes passed
jiekexu-r1 yes yes yes yes passed
Verifying Group Membership: oinstall(Primary) ...PASSED
Verifying Run Level ...
Node Name run level Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 5 3,5 passed
jiekexu-r1 5 3,5 passed
Verifying Run Level ...PASSED
Verifying Hard Limit: maximum open file descriptors ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 hard 65536 65536 passed
jiekexu-r1 hard 65536 65536 passed
Verifying Hard Limit: maximum open file descriptors ...PASSED
Verifying Soft Limit: maximum open file descriptors ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 soft 1024 1024 passed
jiekexu-r1 soft 1024 1024 passed
Verifying Soft Limit: maximum open file descriptors ...PASSED
Verifying Hard Limit: maximum user processes ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 hard 16384 16384 passed
jiekexu-r1 hard 16384 16384 passed
Verifying Hard Limit: maximum user processes ...PASSED
Verifying Soft Limit: maximum user processes ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 soft 2047 2047 passed
jiekexu-r1 soft 2047 2047 passed
Verifying Soft Limit: maximum user processes ...PASSED
Verifying Soft Limit: maximum stack size ...
Node Name Type Available Required Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 soft 10240 10240 passed
jiekexu-r1 soft 10240 10240 passed
Verifying Soft Limit: maximum stack size ...PASSED
Verifying Architecture ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 x86_64 x86_64 passed
jiekexu-r1 x86_64 x86_64 passed
Verifying Architecture ...PASSED
Verifying OS Kernel Version ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 3.10.0-1062.el7.x86_64 3.10.0 passed
jiekexu-r1 3.10.0-1062.el7.x86_64 3.10.0 passed
Verifying OS Kernel Version ...PASSED
Verifying OS Kernel Parameter: semmsl ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 250 250 250 passed
jiekexu-r2 250 250 250 passed
Verifying OS Kernel Parameter: semmsl ...PASSED
Verifying OS Kernel Parameter: semmns ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 32000 32000 32000 passed
jiekexu-r2 32000 32000 32000 passed
Verifying OS Kernel Parameter: semmns ...PASSED
Verifying OS Kernel Parameter: semopm ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 100 100 100 passed
jiekexu-r2 100 100 100 passed
Verifying OS Kernel Parameter: semopm ...PASSED
Verifying OS Kernel Parameter: semmni ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 128 128 128 passed
jiekexu-r2 128 128 128 passed
Verifying OS Kernel Parameter: semmni ...PASSED
Verifying OS Kernel Parameter: shmmax ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 8181903359 8181903359 4090947584 passed
jiekexu-r2 8350715903 8350715903 4175362048 passed
Verifying OS Kernel Parameter: shmmax ...PASSED
Verifying OS Kernel Parameter: shmmni ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 4096 4096 4096 passed
jiekexu-r2 4096 4096 4096 passed
Verifying OS Kernel Parameter: shmmni ...PASSED
Verifying OS Kernel Parameter: shmall ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 2097152 2097152 1997534 passed
jiekexu-r2 2097152 2097152 2038748 passed
Verifying OS Kernel Parameter: shmall ...PASSED
Verifying OS Kernel Parameter: file-max ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 6815744 6815744 6815744 passed
jiekexu-r2 6815744 6815744 6815744 passed
Verifying OS Kernel Parameter: file-max ...PASSED
Verifying OS Kernel Parameter: ip_local_port_range ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 passed
jiekexu-r2 between 9000 & 65500 between 9000 & 65500 between 9000 & 65535 passed
Verifying OS Kernel Parameter: ip_local_port_range ...PASSED
Verifying OS Kernel Parameter: rmem_default ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 16777216 16777216 262144 passed
jiekexu-r2 16777216 16777216 262144 passed
Verifying OS Kernel Parameter: rmem_default ...PASSED
Verifying OS Kernel Parameter: rmem_max ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 16777216 16777216 4194304 passed
jiekexu-r2 16777216 16777216 4194304 passed
Verifying OS Kernel Parameter: rmem_max ...PASSED
Verifying OS Kernel Parameter: wmem_default ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 16777216 16777216 262144 passed
jiekexu-r2 16777216 16777216 262144 passed
Verifying OS Kernel Parameter: wmem_default ...PASSED
Verifying OS Kernel Parameter: wmem_max ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 16777216 16777216 1048576 passed
jiekexu-r2 16777216 16777216 1048576 passed
Verifying OS Kernel Parameter: wmem_max ...PASSED
Verifying OS Kernel Parameter: aio-max-nr ...
Node Name Current Configured Required Status Comment
---------------- ------------ ------------ ------------ ------------ ------------
jiekexu-r1 6194304 6194304 1048576 passed
jiekexu-r2 6194304 6194304 1048576 passed
Verifying OS Kernel Parameter: aio-max-nr ...PASSED
Verifying Package: kmod-20-21 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 kmod(x86_64)-20-25.el7 kmod(x86_64)-20-21 passed
jiekexu-r1 kmod(x86_64)-20-25.el7 kmod(x86_64)-20-21 passed
Verifying Package: kmod-20-21 (x86_64) ...PASSED
Verifying Package: kmod-libs-20-21 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 kmod-libs(x86_64)-20-25.el7 kmod-libs(x86_64)-20-21 passed
jiekexu-r1 kmod-libs(x86_64)-20-25.el7 kmod-libs(x86_64)-20-21 passed
Verifying Package: kmod-libs-20-21 (x86_64) ...PASSED
Verifying Package: binutils-2.23.52.0.1 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 binutils-2.27-41.base.el7 binutils-2.23.52.0.1 passed
jiekexu-r1 binutils-2.27-41.base.el7 binutils-2.23.52.0.1 passed
Verifying Package: binutils-2.23.52.0.1 ...PASSED
Verifying Package: compat-libcap1-1.10 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 compat-libcap1-1.10-7.el7 compat-libcap1-1.10 passed
jiekexu-r1 compat-libcap1-1.10-7.el7 compat-libcap1-1.10 passed
Verifying Package: compat-libcap1-1.10 ...PASSED
Verifying Package: libgcc-4.8.2 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libgcc(x86_64)-4.8.5-39.el7 libgcc(x86_64)-4.8.2 passed
jiekexu-r1 libgcc(x86_64)-4.8.5-39.el7 libgcc(x86_64)-4.8.2 passed
Verifying Package: libgcc-4.8.2 (x86_64) ...PASSED
Verifying Package: libstdc++-4.8.2 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libstdc++(x86_64)-4.8.5-39.el7 libstdc++(x86_64)-4.8.2 passed
jiekexu-r1 libstdc++(x86_64)-4.8.5-39.el7 libstdc++(x86_64)-4.8.2 passed
Verifying Package: libstdc++-4.8.2 (x86_64) ...PASSED
Verifying Package: libstdc++-devel-4.8.2 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libstdc++-devel(x86_64)-4.8.5-39.el7 libstdc++-devel(x86_64)-4.8.2 passed
jiekexu-r1 libstdc++-devel(x86_64)-4.8.5-39.el7 libstdc++-devel(x86_64)-4.8.2 passed
Verifying Package: libstdc++-devel-4.8.2 (x86_64) ...PASSED
Verifying Package: sysstat-10.1.5 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 sysstat-10.1.5-18.el7 sysstat-10.1.5 passed
jiekexu-r1 sysstat-10.1.5-18.el7 sysstat-10.1.5 passed
Verifying Package: sysstat-10.1.5 ...PASSED
Verifying Package: gcc-c++-4.8.2 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 gcc-c++-4.8.5-39.el7 gcc-c++-4.8.2 passed
jiekexu-r1 gcc-c++-4.8.5-39.el7 gcc-c++-4.8.2 passed
Verifying Package: gcc-c++-4.8.2 ...PASSED
Verifying Package: ksh ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 ksh ksh passed
jiekexu-r1 ksh ksh passed
Verifying Package: ksh ...PASSED
Verifying Package: make-3.82 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 make-3.82-24.el7 make-3.82 passed
jiekexu-r1 make-3.82-24.el7 make-3.82 passed
Verifying Package: make-3.82 ...PASSED
Verifying Package: glibc-2.17 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 glibc(x86_64)-2.17-292.el7 glibc(x86_64)-2.17 passed
jiekexu-r1 glibc(x86_64)-2.17-292.el7 glibc(x86_64)-2.17 passed
Verifying Package: glibc-2.17 (x86_64) ...PASSED
Verifying Package: glibc-devel-2.17 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 glibc-devel(x86_64)-2.17-292.el7 glibc-devel(x86_64)-2.17 passed
jiekexu-r1 glibc-devel(x86_64)-2.17-292.el7 glibc-devel(x86_64)-2.17 passed
Verifying Package: glibc-devel-2.17 (x86_64) ...PASSED
Verifying Package: libaio-0.3.109 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.109 passed
jiekexu-r1 libaio(x86_64)-0.3.109-13.el7 libaio(x86_64)-0.3.109 passed
Verifying Package: libaio-0.3.109 (x86_64) ...PASSED
Verifying Package: libaio-devel-0.3.109 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.109 passed
jiekexu-r1 libaio-devel(x86_64)-0.3.109-13.el7 libaio-devel(x86_64)-0.3.109 passed
Verifying Package: libaio-devel-0.3.109 (x86_64) ...PASSED
Verifying Package: nfs-utils-1.2.3-15 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 nfs-utils-1.3.0-0.65.el7 nfs-utils-1.2.3-15 passed
jiekexu-r1 nfs-utils-1.3.0-0.65.el7 nfs-utils-1.2.3-15 passed
Verifying Package: nfs-utils-1.2.3-15 ...PASSED
Verifying Package: smartmontools-6.2-4 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 smartmontools-7.0-1.el7 smartmontools-6.2-4 passed
jiekexu-r1 smartmontools-7.0-1.el7 smartmontools-6.2-4 passed
Verifying Package: smartmontools-6.2-4 ...PASSED
Verifying Package: net-tools-2.0-0.17 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 net-tools-2.0-0.25.20131004git.el7 net-tools-2.0-0.17 passed
jiekexu-r1 net-tools-2.0-0.25.20131004git.el7 net-tools-2.0-0.17 passed
Verifying Package: net-tools-2.0-0.17 ...PASSED
Verifying Package: compat-libstdc++-33-3.2.3 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 compat-libstdc++-33(x86_64)-3.2.3-72.el7 compat-libstdc++-33(x86_64)-3.2.3 passed
jiekexu-r1 compat-libstdc++-33(x86_64)-3.2.3-72.el7 compat-libstdc++-33(x86_64)-3.2.3 passed
Verifying Package: compat-libstdc++-33-3.2.3 (x86_64) ...PASSED
Verifying Package: libxcb-1.11 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libxcb(x86_64)-1.13-1.el7 libxcb(x86_64)-1.11 passed
jiekexu-r1 libxcb(x86_64)-1.13-1.el7 libxcb(x86_64)-1.11 passed
Verifying Package: libxcb-1.11 (x86_64) ...PASSED
Verifying Package: libX11-1.6.3 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libX11(x86_64)-1.6.7-2.el7 libX11(x86_64)-1.6.3 passed
jiekexu-r1 libX11(x86_64)-1.6.7-2.el7 libX11(x86_64)-1.6.3 passed
Verifying Package: libX11-1.6.3 (x86_64) ...PASSED
Verifying Package: libXau-1.0.8 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libXau(x86_64)-1.0.8-2.1.el7 libXau(x86_64)-1.0.8 passed
jiekexu-r1 libXau(x86_64)-1.0.8-2.1.el7 libXau(x86_64)-1.0.8 passed
Verifying Package: libXau-1.0.8 (x86_64) ...PASSED
Verifying Package: libXi-1.7.4 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libXi(x86_64)-1.7.9-1.el7 libXi(x86_64)-1.7.4 passed
jiekexu-r1 libXi(x86_64)-1.7.9-1.el7 libXi(x86_64)-1.7.4 passed
Verifying Package: libXi-1.7.4 (x86_64) ...PASSED
Verifying Package: libXtst-1.2.2 (x86_64) ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 libXtst(x86_64)-1.2.3-1.el7 libXtst(x86_64)-1.2.2 passed
jiekexu-r1 libXtst(x86_64)-1.2.3-1.el7 libXtst(x86_64)-1.2.2 passed
Verifying Package: libXtst-1.2.2 (x86_64) ...PASSED
Verifying Port Availability for component "Oracle Notification Service (ONS)" ...
Node Name Port Number Protocol Available Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 6200 TCP yes successful
jiekexu-r1 6200 TCP yes successful
jiekexu-r2 6100 TCP yes successful
jiekexu-r1 6100 TCP yes successful
Verifying Port Availability for component "Oracle Notification Service (ONS)" ...PASSED
Verifying Port Availability for component "Oracle Cluster Synchronization Services (CSSD)" ...
Node Name Port Number Protocol Available Status
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 42424 TCP yes successful
jiekexu-r1 42424 TCP yes successful
Verifying Port Availability for component "Oracle Cluster Synchronization Services (CSSD)" ...PASSED
Verifying Users With Same UID: 0 ...PASSED
Verifying Current Group ID ...PASSED
Verifying Root user consistency ...
Node Name Status
------------------------------------ ------------------------
jiekexu-r2 passed
jiekexu-r1 passed
Verifying Root user consistency ...PASSED
Verifying Package: cvuqdisk-1.0.10-1 ...
Node Name Available Required Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 cvuqdisk-1.0.10-1 cvuqdisk-1.0.10-1 passed
jiekexu-r1 cvuqdisk-1.0.10-1 cvuqdisk-1.0.10-1 passed
Verifying Package: cvuqdisk-1.0.10-1 ...PASSED
Verifying Host name ...PASSED
Verifying Node Connectivity ...
Verifying Hosts File ...
Node Name Status
------------------------------------ ------------------------
jiekexu-r1 passed
jiekexu-r2 passed
Verifying Hosts File ...PASSED
Interface information for node "jiekexu-r2"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
ens32 192.168.75.30 192.168.75.0 0.0.0.0 10.10.10.1 00:0C:29:E4:CE:69 1500
ens32 192.168.75.129 192.168.75.0 0.0.0.0 10.10.10.1 00:0C:29:E4:CE:69 1500
ens33 10.10.10.129 10.0.0.0 0.0.0.0 10.10.10.1 00:0C:29:E4:CE:73 1500
Interface information for node "jiekexu-r1"
Name IP Address Subnet Gateway Def. Gateway HW Address MTU
------ --------------- --------------- --------------- --------------- ----------------- ------
ens32 192.168.75.28 192.168.75.0 0.0.0.0 10.10.10.1 00:0C:29:2C:79:CE 1500
ens32 192.168.75.128 192.168.75.0 0.0.0.0 10.10.10.1 00:0C:29:2C:79:CE 1500
ens33 10.10.10.128 10.0.0.0 0.0.0.0 10.10.10.1 00:0C:29:2C:79:D8 1500
Check: MTU consistency of the subnet "192.168.75.0".
Node Name IP Address Subnet MTU
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 ens32 192.168.75.30 192.168.75.0 1500
jiekexu-r2 ens32 192.168.75.129 192.168.75.0 1500
jiekexu-r1 ens32 192.168.75.28 192.168.75.0 1500
jiekexu-r1 ens32 192.168.75.128 192.168.75.0 1500
Check: MTU consistency of the subnet "10.0.0.0".
Node Name IP Address Subnet MTU
---------------- ------------ ------------ ------------ ----------------
jiekexu-r2 ens33 10.10.10.129 10.0.0.0 1500
jiekexu-r1 ens33 10.10.10.128 10.0.0.0 1500
Verifying Check that maximum (MTU) size packet goes through subnet ...PASSED
Source Destination Connected?
------------------------------ ------------------------------ ----------------
jiekexu-r1[ens32:192.168.75.28] jiekexu-r2[ens32:192.168.75.129] yes
jiekexu-r1[ens32:192.168.75.28] jiekexu-r2[ens32:192.168.75.30] yes
jiekexu-r1[ens32:192.168.75.28] jiekexu-r1[ens32:192.168.75.128] yes
jiekexu-r2[ens32:192.168.75.129] jiekexu-r2[ens32:192.168.75.30] yes
jiekexu-r2[ens32:192.168.75.129] jiekexu-r1[ens32:192.168.75.128] yes
jiekexu-r2[ens32:192.168.75.30] jiekexu-r1[ens32:192.168.75.128] yes
Source Destination Connected?
------------------------------ ------------------------------ ----------------
jiekexu-r1[ens33:10.10.10.128] jiekexu-r2[ens33:10.10.10.129] yes
Verifying subnet mask consistency for subnet "192.168.75.0" ...PASSED
Verifying subnet mask consistency for subnet "10.0.0.0" ...PASSED
Verifying Node Connectivity ...PASSED
Verifying Multicast or broadcast check ...
Checking subnet "192.168.75.0" for multicast communication with multicast group "224.0.0.251"
Verifying Multicast or broadcast check ...PASSED
Verifying Network Time Protocol (NTP) ...PASSED
Verifying Same core file name pattern ...PASSED
Verifying User Mask ...
Node Name Available Required Comment
------------ ------------------------ ------------------------ ----------
jiekexu-r2 0022 0022 passed
jiekexu-r1 0022 0022 passed
Verifying User Mask ...PASSED
Verifying User Not In Group "root": grid ...
Node Name Status Comment
------------ ------------------------ ------------------------
jiekexu-r2 passed does not exist
jiekexu-r1 passed does not exist
Verifying User Not In Group "root": grid ...PASSED
Verifying Time zone consistency ...PASSED
Verifying Time offset between nodes ...PASSED
Verifying resolv.conf Integrity ...
Node Name Status
------------------------------------ ------------------------
jiekexu-r1 failed
jiekexu-r2 failed
checking response for name "jiekexu-r2" from each of the name servers specified
in "/etc/resolv.conf"
Node Name Source Comment Status
------------ ------------------------ ------------------------ ----------
jiekexu-r2 192.168.75.2 IPv4 failed
checking response for name "jiekexu-r1" from each of the name servers specified
in "/etc/resolv.conf"
Node Name Source Comment Status
------------ ------------------------ ------------------------ ----------
jiekexu-r1 192.168.75.2 IPv4 failed
Verifying resolv.conf Integrity ...FAILED (PRVF-5636, PRVG-10048)
Verifying DNS/NIS name service ...PASSED
Verifying Domain Sockets ...PASSED
Verifying /boot mount ...PASSED
Verifying Daemon "avahi-daemon" not configured and running ...
Node Name Configured Status
------------ ------------------------ ------------------------
jiekexu-r2 no passed
jiekexu-r1 no passed
Node Name Running? Status
------------ ------------------------ ------------------------
jiekexu-r2 no passed
jiekexu-r1 no passed
Verifying Daemon "avahi-daemon" not configured and running ...PASSED
Verifying Daemon "proxyt" not configured and running ...
Node Name Configured Status
------------ ------------------------ ------------------------
jiekexu-r2 no passed
jiekexu-r1 no passed
Node Name Running? Status
------------ ------------------------ ------------------------
jiekexu-r2 no passed
jiekexu-r1 no passed
Verifying Daemon "proxyt" not configured and running ...PASSED
Verifying User Equivalence ...PASSED
Verifying RPM Package Manager database ...INFORMATION (PRVG-11250)
Verifying /dev/shm mounted as temporary file system ...PASSED
Verifying File system mount options for path /var ...PASSED
Verifying DefaultTasksMax parameter ...PASSED
Verifying zeroconf check ...PASSED
Verifying ASM Filter Driver configuration ...PASSED
Pre-check for cluster services setup was unsuccessful on all the nodes.
Failures were encountered during execution of CVU verification request "stage -pre crsinst".
Verifying resolv.conf Integrity ...FAILED
jiekexu-r2: PRVF-5636 : The DNS response time for an unreachable node exceeded
"15000" ms on following nodes: jiekexu-r1,jiekexu-r2
jiekexu-r2: PRVG-10048 : Name "jiekexu-r2" was not resolved to an address of
the specified type by name servers "192.168.75.2".
jiekexu-r1: PRVF-5636 : The DNS response time for an unreachable node exceeded
"15000" ms on following nodes: jiekexu-r1,jiekexu-r2
jiekexu-r1: PRVG-10048 : Name "jiekexu-r1" was not resolved to an address of
the specified type by name servers "192.168.75.2".
Verifying RPM Package Manager database ...INFORMATION
PRVG-11250 : The check "RPM Package Manager database" was not performed because
it needs 'root' user privileges.
CVU operation performed: stage -pre crsinst
Date: Aug 25, 2021 8:41:59 PM
CVU home: /u01/app/19.0.0/grid/
User: grid
[grid@jiekexu-r1:/home/grid]$ /u01/app/19.0.0/grid/runcluvfy.sh stage -pre crsinst -n jiekexu-r1,jiekexu-r2 -method root
Enter "ROOT" password:
Verifying Physical Memory ...PASSED
Verifying Available Physical Memory ...PASSED
Verifying Swap Size ...PASSED
Verifying Free Space: jiekexu-r2:/usr,jiekexu-r2:/var,jiekexu-r2:/etc,jiekexu-r2:/sbin,jiekexu-r2:/tmp ...PASSED
Verifying Free Space: jiekexu-r1:/usr,jiekexu-r1:/var,jiekexu-r1:/etc,jiekexu-r1:/sbin,jiekexu-r1:/tmp ...PASSED
Verifying User Existence: grid ...
Verifying Users With Same UID: 10001 ...PASSED
Verifying User Existence: grid ...PASSED
Verifying Group Existence: asmadmin ...PASSED
Verifying Group Existence: asmdba ...PASSED
Verifying Group Existence: oinstall ...PASSED
Verifying Group Membership: asmdba ...PASSED
Verifying Group Membership: asmadmin ...PASSED
Verifying Group Membership: oinstall(Primary) ...PASSED
Verifying Run Level ...PASSED
Verifying Hard Limit: maximum open file descriptors ...PASSED
Verifying Soft Limit: maximum open file descriptors ...PASSED
Verifying Hard Limit: maximum user processes ...PASSED
Verifying Soft Limit: maximum user processes ...PASSED
Verifying Soft Limit: maximum stack size ...PASSED
Verifying Architecture ...PASSED
Verifying OS Kernel Version ...PASSED
Verifying OS Kernel Parameter: semmsl ...PASSED
Verifying OS Kernel Parameter: semmns ...PASSED
Verifying OS Kernel Parameter: semopm ...PASSED
Verifying OS Kernel Parameter: semmni ...PASSED
Verifying OS Kernel Parameter: shmmax ...PASSED
Verifying OS Kernel Parameter: shmmni ...PASSED
Verifying OS Kernel Parameter: shmall ...PASSED
Verifying OS Kernel Parameter: file-max ...PASSED
Verifying OS Kernel Parameter: ip_local_port_range ...PASSED
Verifying OS Kernel Parameter: rmem_default ...PASSED
Verifying OS Kernel Parameter: rmem_max ...PASSED
Verifying OS Kernel Parameter: wmem_default ...PASSED
Verifying OS Kernel Parameter: wmem_max ...PASSED
Verifying OS Kernel Parameter: aio-max-nr ...PASSED
Verifying Package: kmod-20-21 (x86_64) ...PASSED
Verifying Package: kmod-libs-20-21 (x86_64) ...PASSED
Verifying Package: binutils-2.23.52.0.1 ...PASSED
Verifying Package: compat-libcap1-1.10 ...PASSED
Verifying Package: libgcc-4.8.2 (x86_64) ...PASSED
Verifying Package: libstdc++-4.8.2 (x86_64) ...PASSED
Verifying Package: libstdc++-devel-4.8.2 (x86_64) ...PASSED
Verifying Package: sysstat-10.1.5 ...PASSED
Verifying Package: gcc-c++-4.8.2 ...PASSED
Verifying Package: ksh ...PASSED
Verifying Package: make-3.82 ...PASSED
Verifying Package: glibc-2.17 (x86_64) ...PASSED
Verifying Package: glibc-devel-2.17 (x86_64) ...PASSED
Verifying Package: libaio-0.3.109 (x86_64) ...PASSED
Verifying Package: libaio-devel-0.3.109 (x86_64) ...PASSED
Verifying Package: nfs-utils-1.2.3-15 ...PASSED
Verifying Package: smartmontools-6.2-4 ...PASSED
Verifying Package: net-tools-2.0-0.17 ...PASSED
Verifying Package: compat-libstdc++-33-3.2.3 (x86_64) ...PASSED
Verifying Package: libxcb-1.11 (x86_64) ...PASSED
Verifying Package: libX11-1.6.3 (x86_64) ...PASSED
Verifying Package: libXau-1.0.8 (x86_64) ...PASSED
Verifying Package: libXi-1.7.4 (x86_64) ...PASSED
Verifying Package: libXtst-1.2.2 (x86_64) ...PASSED
Verifying Port Availability for component "Oracle Notification Service (ONS)" ...PASSED
Verifying Port Availability for component "Oracle Cluster Synchronization Services (CSSD)" ...PASSED
Verifying Users With Same UID: 0 ...PASSED
Verifying Current Group ID ...PASSED
Verifying Root user consistency ...PASSED
Verifying Package: cvuqdisk-1.0.10-1 ...PASSED
Verifying Host name ...PASSED
Verifying Node Connectivity ...
Verifying Hosts File ...PASSED
Verifying Check that maximum (MTU) size packet goes through subnet ...PASSED
Verifying subnet mask consistency for subnet "192.168.75.0" ...PASSED
Verifying subnet mask consistency for subnet "10.0.0.0" ...PASSED
Verifying Node Connectivity ...PASSED
Verifying Multicast or broadcast check ...PASSED
Verifying Network Time Protocol (NTP) ...PASSED
Verifying Same core file name pattern ...PASSED
Verifying User Mask ...PASSED
Verifying User Not In Group "root": grid ...PASSED
Verifying Time zone consistency ...PASSED
Verifying Time offset between nodes ...PASSED
Verifying resolv.conf Integrity ...FAILED (PRVG-13159)
Verifying DNS/NIS name service ...PASSED
Verifying Domain Sockets ...PASSED
Verifying /boot mount ...PASSED
Verifying Daemon "avahi-daemon" not configured and running ...PASSED
Verifying Daemon "proxyt" not configured and running ...PASSED
Verifying User Equivalence ...PASSED
Verifying RPM Package Manager database ...PASSED
Verifying /dev/shm mounted as temporary file system ...PASSED
Verifying File system mount options for path /var ...PASSED
Verifying DefaultTasksMax parameter ...PASSED
Verifying zeroconf check ...PASSED
Verifying ASM Filter Driver configuration ...PASSED
Pre-check for cluster services setup was unsuccessful on all the nodes.
Failures were encountered during execution of CVU verification request "stage -pre crsinst".
Verifying resolv.conf Integrity ...FAILED
jiekexu-r2: PRVG-13159 : On node "jiekexu-r2" the file "/etc/resolv.conf" could
not be parsed because the file is empty.
jiekexu-r1: PRVG-13159 : On node "jiekexu-r1" the file "/etc/resolv.conf" could
not be parsed because the file is empty.
CVU operation performed: stage -pre crsinst
Date: Aug 30, 2021 7:49:20 PM
CVU home: /u01/app/19.0.0/grid/
User: grid
6.4 查看静默安装文件
[root@jiekexu-r2 soft]# lvmdiskscan
/dev/sda1 [ 1.00 GiB]
/dev/sda2 [ <99.00 GiB] LVM physical volume
/dev/asm_data01 [ 10.00 GiB]
/dev/asm_ocr02 [ 3.00 GiB]
/dev/asm_ocr01 [ 3.00 GiB]
/dev/asm_data02 [ 10.00 GiB]
/dev/asm_arch01 [ 10.00 GiB]
/dev/asm_ocr03 [ 3.00 GiB]
0 disks
7 partitions
0 LVM physical volume whole disks
1 LVM physical volume
响应文件位置
/u01/app/19.0.0/grid/install/response
${ORACLE_HOME}/install/response/gridsetup.rsp
参数说明:
oracle.install.crs.config.clusterNodes=网卡名:公网IP地址段:1,私网网卡名:私网IP地址段:5
这里的 1 代表 PUBLIC,5 代表 ASM & PRIVATE
#############################################################################
oracle.install.crs.config.clusterNodes=
#############################################################################
The value should be a comma separated strings where each string is as shown below
InterfaceName:SubnetAddress:InterfaceType
where InterfaceType can be either "1", "2", "3", "4", or "5"
InterfaceType stand for the following values
1 : PUBLIC
2 : PRIVATE
3 : DO NOT USE
4 : ASM
5 : ASM & PRIVATE
#
For example: eth0:140.87.24.0:1,eth1:10.2.1.0:2,eth2:140.87.52.0:3
#############################################################################
12.2:Post upgrade steps for Grid infrastructure reports INS-32601 error (Doc ID 2380863.1)
6.5 执行补丁和 GI 安装
jiekexu-r1:/home/grid(+ASM1)$ $ORACLE_HOME/gridSetup.sh --help
Usage: gridSetup.sh [<flag>] [<option>]
Following are the possible flags:
-help - 显示帮助。
-silent - 在无提示模式下运行。输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。
[-ignorePrereqFailure - 忽略所有先决条件检查失败。]
[-lenientInstallMode - 通过自动忽略输入参数中的无效数据, 执行“最佳效果”安装。]
-responseFile - 指定要使用的响应文件的完整路径。
-logLevel - 根据此参数所提供的优先级启用消息日志。有效选项包括: 严重, 警告, 信息, 配置, 详细, 较为详细, 非常详细。
-executePrereqs | -executeConfigTools | -createGoldImage | -switchGridHome | -downgrade | -dryRunForUpgrade
-executePrereqs - 仅执行先决条件检查。
-executeConfigTools - 对安装的主目录执行配置工具。
[-skipStackCheck - 跳过堆栈状态检查。]
-createGoldImage - 从当前 Oracle 主目录创建 Gold Image。
-destinationLocation - 指定将存放所创建 Gold Image 的位置的完整路径。
[-exclFiles - 指定要从新 Gold Image 中排除的文件的完整路径。]
-switchGridHome - 更改 Oracle Grid Infrastructure 主目录路径。
-downgrade - 将网格基础结构降级回旧主目录 (仅在升级不完整的情况下使用)。
-silent - 在无提示模式下运行。输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。
[-ignorePrereqFailure - 忽略所有先决条件检查失败。]
[-lenientInstallMode - 通过自动忽略输入参数中的无效数据, 执行“最佳效果”安装。]
[-configmethod - 指定以授权用户身份执行脚本的方法。如果未指定, 则系统将指示用户以授权用户身份登录来运行脚本。有效选项为: root,sudo。]
[-sudopath - 指定 sudo 程序的完整路径。这是可选参数。在为 configmethod 指定了 'sudo' 并且默认路径中没有 'sudo' 程序时, 需要此项。]
[-sudousername - 指定 sudoer 的名称。]
-dryRunForUpgrade - 执行网格基础结构升级过程的预演。
-debug - 在调试模式下运行。
-printdiskusage - 记录有关磁盘使用情况的调试信息。
-printmemory - 记录有关内存使用情况的调试信息。
-printtime - 记录有关时间使用情况的调试信息。
-waitForCompletion - 等待安装完成, 而不是衍生安装程序并返回控制台提示符。
-noconfig - 不执行配置工具。
-noconsole - 禁止在控制台中显示消息。不分配控制台。
-ignoreInternalDriverError - 忽略任何内部驱动程序错误。
-noCopy - 执行配置, 但不将软件复制到远程节点。
-applyRU - 将发行版更新应用于 Oracle 主目录。
-applyOneOffs - 将一次性补丁程序应用于 Oracle 主目录。多个一次性补丁程序可以采用逗号分隔的位置列表格式传递。
$ORACLE_HOME/gridSetup.sh -silent -applyRU /home/soft/32900083/32895426 -force -noconfig -ignorePrereq -waitforcompletion \
-responseFile ${ORACLE_HOME}/install/response/gridsetup.rsp \
INVENTORY_LOCATION=/u01/app/oraInventory \
ORACLE_BASE=/u01/app/grid \
ORACLE_HOME=/u01/app/19.0.0/grid \
oracle.install.asm.OSDBA=asmdba \
oracle.install.asm.OSOPER=asmoper \
oracle.install.asm.OSASM=asmadmin \
oracle.install.crs.config.storageOption=ASM \
oracle.install.crs.config.useIPMI=false \
oracle.install.asm.diskGroup.name=OCR \
oracle.install.asm.diskGroup.AUSize=4 \
oracle.install.asm.diskGroup.redundancy=NORMAL \
oracle.install.crs.config.ClusterConfiguration=STANDALONE \
oracle.install.crs.config.configureAsExtendedCluster=false \
oracle.install.crs.config.gpnp.scanPort=1521 \
oracle.install.crs.config.gpnp.configureGNS=false \
oracle.install.option=CRS_CONFIG \
oracle.install.asm.SYSASMPassword=Oracle19C \
oracle.install.asm.monitorPassword=Oracle19C \
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm_* \
oracle.install.asm.diskGroup.disks=/dev/asm_ocr01,/dev/asm_ocr02,/dev/asm_ocr03 \
oracle.install.crs.config.gpnp.scanName=jiekexu-racscan \
oracle.install.crs.config.clusterName=jiekexu-racscan \
oracle.install.crs.config.autoConfigureClusterNodeVIP=false \
oracle.install.crs.config.clusterNodes=jiekexu-r1:jiekexu-r1-vip,jiekexu-r2:jiekexu-r2-vip \
oracle.install.crs.config.networkInterfaceList=ens32:192.168.75.0:1,ens33:10.10.10.0:5 \
oracle.install.asm.configureGIMRDataDG=false \
oracle.install.crs.configureRHPS=false \
oracle.install.crs.config.ignoreDownNodes=false \
oracle.install.config.managementOption=NONE \
oracle.install.config.omsPort=0 \
oracle.install.crs.rootconfig.executeRootScript=false
--注:这里尝试配置 root 自动执行 root.sh 脚本时,需要输入密码,但很快就过去了,根本来不及输入密码。无奈则取消掉 oracle.install.crs.rootconfig.configMethod=ROOT 这行,将 oracle.install.crs.rootconfig.executeRootScript=true 改为 oracle.install.crs.rootconfig.executeRootScript=false
[grid@jiekexu-r2:/home/grid]$ cd /u01/app/19.0.0/grid
[grid@jiekexu-r2:/u01/app/19.0.0/grid]$ ls
addnode clone dbs gpnp inventory lib opatchautocfg ord plsql rdbms root.sh.old.2 sqlpatch usm xdk
assistants crs deinstall gridSetup.sh javavm md OPatch.bak0826 ords precomp relnotes root.sh.old.3 sqlplus utl
bin css demo has jdbc network opmn oss pylib rhp rootupgrade.sh srvm welcome.html
cfgtoollogs ctx diagnostics hs jdk nls oracore oui QOpatch root.sh runcluvfy.sh suptools wlm
cha cv env.ora install jlib olap oradiag_grid owm qos root.sh.old sdk tomcat wwg
client dbjava evm instantclient ldap OPatch oraInst.loc perl racg root.sh.old.1 slax ucp xag
[grid@jiekexu-r2:/u01/app/19.0.0/grid]$ opatch version
OPatch Version: 12.2.0.1.25
OPatch succeeded.
[grid@jiekexu-r2:/u01/app/19.0.0/grid]$ opatch lspatches
32918050;TOMCAT RELEASE UPDATE 19.0.0.0.0 (32918050)
32916816;OCW RELEASE UPDATE 19.12.0.0.0 (32916816)
32915586;ACFS RELEASE UPDATE 19.12.0.0.0 (32915586)
32904851;Database Release Update : 19.12.0.0.210720 (32904851)
32585572;DBWLM RELEASE UPDATE 19.0.0.0.0 (32585572)
OPatch succeeded.
You can find the log of this install session at:
/u01/app/oraInventory/logs/GridSetupActions2021-08-30_08-16-41PM/gridSetupActions2021-08-30_08-16-41PM.log
As a root user, execute the following script(s):
1. /u01/app/19.0.0/grid/root.sh
Execute /u01/app/19.0.0/grid/root.sh on the following nodes:
[jiekexu-r1, jiekexu-r2]
Run the script on the local node first. After successful completion, you can start the script in parallel on all other nodes.
Successfully Setup Software with warning(s).
As install user, execute the following command to complete the configuration.
/u01/app/19.0.0/grid/gridSetup.sh -executeConfigTools -responseFile /u01/app/19.0.0/grid/install/response/gridsetup.rsp [-silent]
6.5.1 root 脚本执行
/u01/app/oraInventory/orainstRoot.sh
/u01/app/19.0.0/grid/root.sh
[root@jiekexu-r1 ~]# /u01/app/19.0.0/grid/root.sh
Check /u01/app/19.0.0/grid/install/root_jiekexu-r1_2021-08-28_19-52-00-806173517.log for the output of root script
[root@jiekexu-r1 ~]#
执行脚本遇到如下错误ORA-39511,这个问题前面一篇文章已经说了,可点此查看。
ORA-39511: Start of CRS resource for instance '215' failed with error:[CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'jiekexu-r1'
oracle.sysman.assistants.util.sqlEngine.SQLFatalErrorException: ORA-39511: Start of CRS resource for instance '215' failed with error:[CRS-2672: Attempting to start 'ora.cluster_interconnect.haip' on 'jiekexu-r1'
6.5.2 卸载 GI
如果脚本执行错误,重复执行也无法修复时,则需要使用 deinstall 卸载重新安装。
cd $ORACLE_HOME/deinstall
./deinstall
根据提示输入和执行脚本
n n y 另开会话执行脚本 ./rootcrs.sh -force -deconfig -paramfile ……,等待十几分钟
rm -rf /opt/ORCLfmap
rm -rf /etc/oraInst.loc
检查所有节点的配置文件/etc/oraInst.loc、/etc/oratab是否存在相关配置,若有,则删除之。
使用 root 用户登录所有节点,执行:
# rm -rf /etc/oracle /tmp/.oracle /var/tmp/.oracle /u01/app/oraInventory /u01/app/grid/* /tmp/GridSetupActions*
卸载后新建 mkdir -p /u01/app/19.0.0/grid
chown -R grid:oinstall /u01
chmod -R 775 /u01
chown -R oracle:oinstall /u01/app/oracle
另一节点如果还没执行 root.sh 则直接 /u01/app/19.0.0/grid :
cd $ORACLE_HOME
rm -rf * rm -rf .opatchauto_storage rm -rf .patch_storage
cd /u01/app/grid
rm -rf *
rm -rf /u01/app/oraInventory
6.6 重新解压 GI 安装包继续安装
unzip LINUX.X64_193000_grid_home.zip -d $ORACLE_HOME
cd $ORACLE_HOME/OPatch
mv OPatch/ OPatch.bak
cp -r /home/soft/OPatch/ ./
两节点均需配置,使用ifconfig
或ip link show
查看mac地址。修改文件/etc/udev/rules.d/70-persistent-ipoib.rules
cat > /etc/udev/rules.d/70-persistent-ipoib.rules <<"EOF"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:e4:ce:69", ATTR{type}=="1", KERNEL=="eth*", NAME="ens32"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:e4:ce:73", ATTR{type}=="1", KERNEL=="eth*", NAME="ens33"
EOF
[root@jiekexu-r1 ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:e4:ce:69 brd ff:ff:ff:ff:ff:ff
3: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 00:0c:29:e4:ce:73 brd ff:ff:ff:ff:ff:ff
cat > /etc/sysconfig/network-scripts/ifcfg-ens32 <<"EOF"
DEVICE=ens32
NAME=ens32
IPADDR=192.168.75.128
NETMASK=255.255.255.0
GATEWAY=192.168.75.2
ONBOOT=yes
USERCTL=no
BOOTPROTO=static
HWADDR=00:0c:29:e4:ce:69
TYPE=Ethernet
IPV6INIT=no
DNS1=114.114.114.114
DNS2=8.8.8.8
NM_CONTROLLED=no
EOF
注意第二块网卡不配置网关,否则系统默认网关就变成了第二块网卡的网关,从而导致系统不能上外网。
cat > /etc/sysconfig/network-scripts/ifcfg-ens33 <<"EOF"
DEVICE=ens33
NAME=ens33
IPADDR=10.10.10.128
NETMASK=255.255.255.0
ONBOOT=yes
USERCTL=no
BOOTPROTO=static
HWADDR=00:0c:29:e4:ce:73
TYPE=Ethernet
IPV6INIT=no
DNS1=114.114.114.114
DNS2=8.8.8.8
NM_CONTROLLED=no
EOF
重跑 root.sh
[root@jiekexu-r1 network-scripts]# cat /u01/app/19.0.0/grid/install/root_jiekexu-r1_2021-08-31_18-14-46-714402688.log
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/19.0.0/grid
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/19.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/jiekexu-r1/crsconfig/rootcrs_jiekexu-r1_2021-08-31_06-14-47PM.log
2021/08/31 18:14:50 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.
2021/08/31 18:14:50 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
2021/08/31 18:14:50 CLSRSC-363: User ignored prerequisites during installation
2021/08/31 18:14:50 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
2021/08/31 18:14:52 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
2021/08/31 18:14:53 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'.
2021/08/31 18:14:53 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'.
2021/08/31 18:14:53 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'.
2021/08/31 18:14:54 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'.
2021/08/31 18:14:57 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.
2021/08/31 18:14:57 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
2021/08/31 18:14:57 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
2021/08/31 18:14:58 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
2021/08/31 18:15:00 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2021/08/31 18:15:00 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2021/08/31 18:15:01 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2021/08/31 18:15:04 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2021/08/31 18:15:22 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
ASM has been created and started successfully.
[DBT-30001] Disk groups created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-210831PM061542.log for details.
2021/08/31 18:16:34 CLSRSC-482: Running command: '/u01/app/19.0.0/grid/bin/ocrconfig -upgrade grid oinstall'
CRS-4256: Updating the profile
Successful addition of voting disk 14ed0aa13ffd4f89bfe2d79061f96fbc.
Successful addition of voting disk 27cc8fbc135f4fd3bf574b4d2e62531e.
Successful addition of voting disk c5c806e3a2414f74bf1c70f2add4a821.
Successfully replaced voting disk group with +OCR.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
STATE File Universal Id File Name Disk group
-- ----- ----------------- --------- ---------
1. ONLINE 14ed0aa13ffd4f89bfe2d79061f96fbc (/dev/asm_ocr03) [OCR]
2. ONLINE 27cc8fbc135f4fd3bf574b4d2e62531e (/dev/asm_ocr01) [OCR]
3. ONLINE c5c806e3a2414f74bf1c70f2add4a821 (/dev/asm_ocr02) [OCR]
Located 3 voting disk(s).
2021/08/31 18:17:29 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2021/08/31 18:18:28 CLSRSC-343: Successfully started Oracle Clusterware stack
2021/08/31 18:18:28 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2021/08/31 18:20:11 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2021/08/31 18:20:38 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
节点 2 执行 root.sh 也成功了,兴奋中……
[grid@jiekexu-r2:/home/grid]$ tail -30f /u01/app/19.0.0/grid/install/root_jiekexu-r2_2021-08-31_18-25-18-796337893.log
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= grid
ORACLE_HOME= /u01/app/19.0.0/grid
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Relinking oracle with rac_on option
Using configuration parameter file: /u01/app/19.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
/u01/app/grid/crsdata/jiekexu-r2/crsconfig/rootcrs_jiekexu-r2_2021-08-31_06-25-49PM.log
2021/08/31 18:25:53 CLSRSC-594: Executing installation step 1 of 19: 'SetupTFA'.
2021/08/31 18:25:53 CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
2021/08/31 18:25:53 CLSRSC-363: User ignored prerequisites during installation
2021/08/31 18:25:53 CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
2021/08/31 18:25:55 CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
2021/08/31 18:25:55 CLSRSC-594: Executing installation step 5 of 19: 'SetupOSD'.
Redirecting to /bin/systemctl restart rsyslog.service
2021/08/31 18:25:56 CLSRSC-594: Executing installation step 6 of 19: 'CheckCRSConfig'.
2021/08/31 18:25:58 CLSRSC-594: Executing installation step 7 of 19: 'SetupLocalGPNP'.
2021/08/31 18:26:02 CLSRSC-594: Executing installation step 8 of 19: 'CreateRootCert'.
2021/08/31 18:26:02 CLSRSC-594: Executing installation step 9 of 19: 'ConfigOLR'.
2021/08/31 18:26:16 CLSRSC-594: Executing installation step 10 of 19: 'ConfigCHMOS'.
2021/08/31 18:26:16 CLSRSC-594: Executing installation step 11 of 19: 'CreateOHASD'.
2021/08/31 18:26:20 CLSRSC-594: Executing installation step 12 of 19: 'ConfigOHASD'.
2021/08/31 18:26:20 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
2021/08/31 18:26:43 CLSRSC-594: Executing installation step 13 of 19: 'InstallAFD'.
2021/08/31 18:26:43 CLSRSC-594: Executing installation step 14 of 19: 'InstallACFS'.
2021/08/31 18:27:30 CLSRSC-594: Executing installation step 15 of 19: 'InstallKA'.
2021/08/31 18:27:33 CLSRSC-594: Executing installation step 16 of 19: 'InitConfig'.
2021/08/31 18:27:42 CLSRSC-594: Executing installation step 17 of 19: 'StartCluster'.
2021/08/31 18:27:56 CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
2021/08/31 18:28:28 CLSRSC-343: Successfully started Oracle Clusterware stack
2021/08/31 18:28:29 CLSRSC-594: Executing installation step 18 of 19: 'ConfigNode'.
2021/08/31 18:29:13 CLSRSC-594: Executing installation step 19 of 19: 'PostConfig'.
2021/08/31 18:29:19 CLSRSC-325: Configure Oracle Grid Infrastructure for a Cluster ... succeeded
[root@jiekexu-r1 ~]# systemctl status oracle-ohasd.service
? oracle-ohasd.service - Oracle High Availability Services
Loaded: loaded (/etc/systemd/system/oracle-ohasd.service; enabled; vendor preset: disabled)
Drop-In: /etc/systemd/system/oracle-ohasd.service.d
+-00_oracle-ohasd.conf
Active: active (running) since Thu 2021-09-02 10:55:47 CST; 37min ago
Main PID: 1638 (init.ohasd)
CGroup: /system.slice/oracle-ohasd.service
+- 1638 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null
…………省略更多输出…………
Sep 02 11:29:49 jiekexu-r1 CLSD[4579]: The clock on host jiekexu-r1 has been updated by the Cluster Time Synchronization Service to be synchronous with the mean cluster time.
Sep 02 11:31:58 jiekexu-r1 oracle_26819_+a[26819]: Oracle Audit[26819]: LENGTH : '247' ACTION :[7] 'CONNECT' DATABASE USER:[1] '/' PRIVILEGE :[6] 'SYSDBA' CLIENT USER:[4] 'gri...R:[3] '100'
Hint: Some lines were ellipsized, use -l to show in full.
6.9 配置集群
根据 6.5.1 节前的内容,执行完 root.sh 脚本,执行 executeConfigTools 配置,更新节点信息。
/u01/app/19.0.0/grid/gridSetup.sh -silent -executeConfigTools -waitforcompletion \
-responseFile /u01/app/19.0.0/grid/install/response/gridsetup.rsp \
INVENTORY_LOCATION=/u01/app/oraInventory \
ORACLE_BASE=/u01/app/grid \
ORACLE_HOME=/u01/app/19.0.0/grid \
oracle.install.asm.OSDBA=asmdba \
oracle.install.asm.OSOPER=asmoper \
oracle.install.asm.OSASM=asmadmin \
oracle.install.crs.config.storageOption=ASM \
oracle.install.crs.config.useIPMI=false \
oracle.install.asm.diskGroup.name=OCR \
oracle.install.asm.diskGroup.AUSize=4 \
oracle.install.asm.diskGroup.redundancy=NORMAL \
oracle.install.crs.config.ClusterConfiguration=STANDALONE \
oracle.install.crs.config.configureAsExtendedCluster=false \
oracle.install.crs.config.gpnp.scanPort=1521 \
oracle.install.crs.config.gpnp.configureGNS=false \
oracle.install.option=CRS_CONFIG \
oracle.install.asm.SYSASMPassword=Oracle19C \
oracle.install.asm.monitorPassword=Oracle19C \
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asm_* \
oracle.install.asm.diskGroup.disks=/dev/asm_ocr01,/dev/asm_ocr02,/dev/asm_ocr03 \
oracle.install.crs.config.gpnp.scanName=jiekexu-racscan \
oracle.install.crs.config.clusterName=jiekexu-racscan \
oracle.install.crs.config.autoConfigureClusterNodeVIP=false \
oracle.install.crs.config.clusterNodes=jiekexu-r1:jiekexu-r1-vip,jiekexu-r2:jiekexu-r2-vip \
oracle.install.crs.config.networkInterfaceList=ens32:192.168.75.0:1,ens33:10.10.10.0:5 \
oracle.install.asm.configureGIMRDataDG=false \
oracle.install.crs.configureRHPS=false \
oracle.install.crs.config.ignoreDownNodes=false \
oracle.install.config.managementOption=NONE \
oracle.install.config.omsPort=0 \
oracle.install.crs.rootconfig.executeRootScript=false
Launching Oracle Grid Infrastructure Setup Wizard...
You can find the logs of this session at:
/u01/app/oraInventory/logs/GridSetupActions2021-08-31_06-44-55PM
You can find the log of this install session at:
/u01/app/oraInventory/logs/UpdateNodeList2021-08-31_06-44-55PM.log
Configuration failed.
[WARNING] [INS-43080] Some of the configuration assistants failed, were cancelled or skipped.
ACTION: Refer to the logs or contact Oracle Support Services.
注意:在 /u01/app/19.0.0/grid/install/response 目录下,新生成了 grid_2021-08-31_02-31-29PM.rsp 响应文件,可以使用新生成的,我这里沿用了前面的配置项也可以。
7.创建磁盘组
创建磁盘组可使用图形化 asmca 创建,也可以使用 asmca -silent 静默创建,更可以使用 SQL 语句创建。
在这里创建3个磁盘组:
OCR: 存放OCR voting 文件。AU size 4MB ,redundance NORMAL。
DATA : 存放数据文件等。AU size 4MB ,redundance EXTERNAL 。
ARCH : 存放归档日志和镜像的 ONLINE LOGFILE。redundance EXTERNAL 。
#创建 DATA 磁盘组
asmca -silent -createDiskGroup -sysAsmPassword Oracle_19c -asmsnmpPassword Oracle_19c -oui_internal -diskString '/dev/asm_\*\' -diskGroupName DATA -diskList /dev/asm_data01,/dev/asm_data02 -redundancy EXTERNAL -au_size 4 -compatible.asm 19.0.0.0.0
[INFO] [DBT-30001] Disk groups created successfully. Check /u01/app/grid/cfgtoollogs/asmca/asmca-210902AM105901.log for details.
查看创建日志发现执行了以下的创建 SQL 语句,并且两节点均已挂载。
ALTER SYSTEM SET asm_diskstring='/dev/asm_' SID='';
select name from v$parameter where isdefault='FALSE'union select name from v$system_parameter where ismodified='MODIFIED';
CREATE DISKGROUP DATA EXTERNAL REDUNDANCY DISK '/dev/asm_data01' SIZE 10240M DISK '/dev/asm_data02' SIZE 10240M ATTRIBUTE 'compatible.asm'='19.0.0.0.0','compatible.advm'='19.0.0.0','au_size'='4M';
#创建 ARCH 磁盘组
asmca -silent -createDiskGroup -sysAsmPassword Oracle_19c -asmsnmpPassword Oracle_19c -oui_internal -diskString '/dev/asm_*' -diskGroupName ARCH -diskList /dev/asm_arch01 -redundancy EXTERNAL -au_size 4 -compatible.asm 19.0.0.0.0
以下是官方文档 SQL 创建磁盘组示例:
Example
Creating the FRA disk groupCREATE DISKGROUP fra NORMAL REDUNDANCY DISK '/devices/diskc*';
CREATE DISKGROUP data external REDUNDANCY DISK '/dev/asmdisks/asm-data' ATTRIBUTE 'au_size'='4M', 'compatible.asm' = '19.0', 'compatible.rdbms' = '19.0', 'compatible.advm' = '19.0';
CREATE DISKGROUP fra external REDUNDANCY DISK '/dev/asmdisks/asm-fra' ATTRIBUTE 'au_size'='4M', 'compatible.asm' = '19.0', 'compatible.rdbms' = '19.0', 'compatible.advm' = '19.0';
图形化创建比较简单就不演示了;创建完磁盘组后,检查磁盘组 DATA 兼容性.
su - grid
sqlplus / as sysasm
select GROUP_NUMBER,name,value from v$asm_attribute where GROUP_NUMBER=2 and name like 'compatible%';
GROUP_NUMBER NAME VALUE
------------ ------------------ ------------------------------
2 compatible.asm 19.0.0.0.0
2 compatible.rdbms 10.1.0.0.0
2 compatible.advm 19.0.0.0.0
修改兼容性
ALTER DISKGROUP DATA SET ATTRIBUTE 'compatible.rdbms' = '19.0.0.0.0';
8.安装 DB 软件
8.1 修改软件包权限并解压
[root@jiekexu-r1 soft]# chown oracle:oinstall LINUX.X64_193000_db_home.zip
[root@jiekexu-r1 soft]# chown -R oracle:oinstall OPatch
$ unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
8.2 替换 OPatch
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.bak
cp -r OPatch $ORACLE_HOME
$ opatch version OPatch Version: 12.2.0.1.25
OPatch succeeded.
8.3 使用 RU 静默安装 DB 软件
${ORACLE_HOME}/runInstaller -h
Usage: runInstaller [<flag>] [<option>]
Following are the possible flags:
-help - 显示帮助。
-silent - 在无提示模式下运行。输入内容可以是一个响应文件, 也可以是命令行变量值对的列表。
[-ignorePrereqFailure - 忽略所有先决条件检查失败。]
-responseFile - 指定要使用的响应文件的完整路径。
-logLevel - 根据此参数所提供的优先级启用消息日志。有效选项包括: 严重, 警告, 信息, 配置, 详细, 较为详细, 非常详细。
-executePrereqs | -executeConfigTools | -createGoldImage
-executePrereqs - 仅执行先决条件检查。
-executeConfigTools - 对安装的主目录执行配置工具。
-createGoldImage - 从当前 Oracle 主目录创建 Gold Image。
-destinationLocation - 指定将存放所创建 Gold Image 的位置的完整路径。
[-exclFiles - 指定要从新 Gold Image 中排除的文件的完整路径。]
-debug - 在调试模式下运行。
-printdiskusage - 记录有关磁盘使用情况的调试信息。
-printmemory - 记录有关内存使用情况的调试信息。
-printtime - 记录有关时间使用情况的调试信息。
-waitForCompletion - 等待安装完成, 而不是衍生安装程序并返回控制台提示符。
-noconfig - 不执行配置工具。
-noconsole - 禁止在控制台中显示消息。不分配控制台。
-ignoreInternalDriverError - 忽略任何内部驱动程序错误。
-noCopy - 执行配置, 但不将软件复制到远程节点。
-applyRU - 将发行版更新应用于 Oracle 主目录。
-applyOneOffs - 将一次性补丁程序应用于 Oracle 主目录。多个一次性补丁程序可以采用逗号分隔的位置列表格式传递。
db 响应文件位置 $ORACLE_HOME/install/response/db_install.rsp
$ORACLE_HOME/runInstaller -ignorePrereq -waitforcompletion -silent -applyRU /home/soft/32900083/32895426 \
-responseFile $ORACLE_HOME/install/response/db_install.rsp \
oracle.install.option=INSTALL_DB_SWONLY \
ORACLE_HOSTNAME=/u01/app/oraInventory \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/u01/app/oraInventory \
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1 \
ORACLE_BASE=/u01/app/oracle \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSOPER_GROUP=oper \
oracle.install.db.OSBACKUPDBA_GROUP=backupdba \
oracle.install.db.OSDGDBA_GROUP=dgdba \
oracle.install.db.OSKMDBA_GROUP=kmdba \
oracle.install.db.OSRACDBA_GROUP=racdba \
oracle.install.db.CLUSTER_NODES=jiekexu-r1,jiekexu-r2
8.3.1 卸载 DB 软件
卸载 DB 软件很简单 $ORACLE_HOME/deinstall/deinstall 根据提示先回车 然后 y 继续,等待一会儿则卸载完毕,dbhome 清理完成。再次安装时需要新建,然后解压软件。
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
8.4 静默创建实例
字符集为 32UTF8
DBCA 建库
非容器数据库创建方法:
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname JiekeXu -responseFile NO_VALUE \
-characterSet AL32UTF8 \
-sysPassword Oracle19c \
-systemPassword Oracle19c \
-createAsContainerDatabase false \
-databaseType MULTIPURPOSE \
-automaticMemoryManagement false \
-totalMemory 8192 \
-redoLogFileSize 1024 \
-emConfiguration NONE \
-ignorePreReqs \
-nodelist jiekexu-r1,jiekexu-r2 \
-storageType ASM \
-diskGroupName +DATA \
-asmsnmpPassword Oracle19c \
-recoveryAreaDestination NONE
PDB容器数据库创建方法:
dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname JiekeXu -responseFile NO_VALUE \
-characterSet AL32UTF8 \
-sysPassword Oracle_19C \
-systemPassword Oracle_19C \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName JiekeXupdb1 \
-pdbAdminPassword Oracle_19C \
-databaseType MULTIPURPOSE \
-automaticMemoryManagement false \
-totalMemory 1500 \
-redoLogFileSize 200 \
-emConfiguration NONE \
-ignorePreReqs \
-nodelist jiekexu-r1,jiekexu-r2 \
-storageType ASM \
-diskGroupName +DATA \
-asmsnmpPassword Oracle_19C \
-recoveryAreaDestination NONE
本次创建容器数据库。
[root@jiekexu-r1 ~]# tail -f /u01/app/oracle/cfgtoollogs/dbca/JiekeXu/JiekeXu.log
[ 2021-09-02 16:26:50.800 CST ] Prepare for db operation
DBCA_PROGRESS : 7%
[ 2021-09-02 16:27:27.683 CST ] Copying database files
DBCA_PROGRESS : 27%
[ 2021-09-02 16:30:53.347 CST ] Creating and starting Oracle instance
DBCA_PROGRESS : 28%
DBCA_PROGRESS : 31%
DBCA_PROGRESS : 35%
DBCA_PROGRESS : 37%
DBCA_PROGRESS : 40%
[ 2021-09-02 17:10:05.458 CST ] Creating cluster database views
DBCA_PROGRESS : 41%
DBCA_PROGRESS : 53%
[ 2021-09-02 17:11:35.673 CST ] Completing Database Creation
DBCA_PROGRESS : 57%
DBCA_PROGRESS : 59%
DBCA_PROGRESS : 60%
[ 2021-09-02 17:21:42.870 CST ] Creating Pluggable Databases
DBCA_PROGRESS : 64%
DBCA_PROGRESS : 80%
[ 2021-09-02 17:22:41.957 CST ] Executing Post Configuration Actions
DBCA_PROGRESS : 100%
[ 2021-09-02 17:22:41.971 CST ] Database creation complete. For details check the logfiles at:
/u01/app/oracle/cfgtoollogs/dbca/JiekeXu.
Database Information:
Global Database Name:JiekeXu
System Identifier(SID) Prefix:JiekeXu
到达 31% 则比较慢,半小时多没有反应,关闭微信、浏览器等其他软件后总共花费 56 分钟完成。
8.4.1 静默删除实例
静默删除数据库实例
dbca -silent -deleteDatabase -sourceDB JiekeXu -sysDBAUserName SYS -sysDBAPassword Oracle19c
8.5 数据库状态检查
8.5.1集群状态查看
jiekexu-r1:/home/grid(+ASM1)$ crsctl status res -t
Name Target State Server State details
Local Resources
ora.LISTENER.lsnr
ONLINE ONLINE jiekexu-r1 STABLE
ONLINE ONLINE jiekexu-r2 STABLE
ora.chad
ONLINE ONLINE jiekexu-r1 STABLE
ONLINE ONLINE jiekexu-r2 STABLE
ora.net1.network
ONLINE ONLINE jiekexu-r1 STABLE
ONLINE ONLINE jiekexu-r2 STABLE
ora.ons
ONLINE ONLINE jiekexu-r1 STABLE
ONLINE ONLINE jiekexu-r2 STABLE
Cluster Resources
ora.ARCH.dg(ora.asmgroup)
1 ONLINE ONLINE jiekexu-r1 STABLE
2 ONLINE ONLINE jiekexu-r2 STABLE
ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)
1 ONLINE ONLINE jiekexu-r1 STABLE
2 ONLINE ONLINE jiekexu-r2 STABLE
ora.DATA.dg(ora.asmgroup)
1 ONLINE ONLINE jiekexu-r1 STABLE
2 ONLINE ONLINE jiekexu-r2 STABLE
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE jiekexu-r2 STABLE
ora.OCR.dg(ora.asmgroup)
1 ONLINE ONLINE jiekexu-r1 STABLE
2 ONLINE ONLINE jiekexu-r2 STABLE
ora.asm(ora.asmgroup)
1 ONLINE ONLINE jiekexu-r1 Started,STABLE
2 ONLINE ONLINE jiekexu-r2 Started,STABLE
ora.asmnet1.asmnetwork(ora.asmgroup)
1 ONLINE ONLINE jiekexu-r1 STABLE
2 ONLINE ONLINE jiekexu-r2 STABLE
ora.cvu
1 ONLINE ONLINE jiekexu-r2 STABLE
ora.jiekexu-r1.vip
1 ONLINE ONLINE jiekexu-r1 STABLE
ora.jiekexu-r2.vip
1 ONLINE ONLINE jiekexu-r2 STABLE
ora.jiekexu.db
1 ONLINE ONLINE jiekexu-r1 Open,HOME=/u01/app/o
racle/product/19.0.0
/dbhome_1,STABLE
2 ONLINE ONLINE jiekexu-r2 Open,HOME=/u01/app/o
racle/product/19.0.0
/dbhome_1,STABLE
ora.qosmserver
1 ONLINE ONLINE jiekexu-r2 STABLE
ora.scan1.vip
1 ONLINE ONLINE jiekexu-r2 STABLE
jiekexu-r1:/home/grid(+ASM1)$
8.5.2 监听状态查看
8.5.3 数据库信息查看
jiekexu-r1:/home/oracle(JiekeXu1)$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Thu Sep 2 18:05:30 2021
Version 19.12.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.12.0.0.0
SQL> set line 240
col HOST_NAME for a30 SQL> SQL>
select INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS from gv$instance;
SQL>
INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME STATUS
---------------- ------------------------------ ----------------- ------------------- ------------
JiekeXu1 jiekexu-r1 19.0.0.0.0 2021-09-02 17:20:52 OPEN
JiekeXu2 jiekexu-r2 19.0.0.0.0 2021-09-02 17:20:57 OPEN
Elapsed: 00:00:00.02
SQL> col status for a10
SQL> col action for a10
SQL> col action_time for a30
SQL> col description for a60
SQL> select patch_id,patch_type,action,status,action_time,description from dba_registry_sqlpatch;
PATCH_ID PATCH_TYPE ACTION STATUS ACTION_TIME DESCRIPTION
---------- ---------- ---------- ---------- ------------------------------ ------------------------------------------------------------
32904851 RU APPLY SUCCESS 02-SEP-21 05.05.15.051185 PM Database Release Update : 19.12.0.0.210720 (32904851)
SQL> SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 JIEKEXUPDB1 READ WRITE NO
SQL> col version for a25
SQL> col comments for a80
SQL> select ACTION_TIME,VERSION,COMMENTS from dba_registry_history;
ACTION_TIME VERSION COMMENTS
------------------------------ ------------------------- --------------------------------------------------------------------------------
19 RDBMS_19.12.0.0.0DBRU_LINUX.X64_210715
02-SEP-21 05.02.53.625968 PM 19.0.0.0.0 Patch applied from 19.3.0.0.0 to 19.12.0.0.0: Release_Update - 210716141810
8.5.4 连接测试
SQL> col File_Name for a88
col Con_Name for a16
set pages 345
with Containers as (select PDB_ID Con_ID, PDB_Name Con_Name from DBA_PDBs
union
select 1 Con_ID, 'CDB$ROOT' Con_Name from Dual)
select Con_ID,Con_Name "Con_Name",Tablespace_Name "T'space_Name",File_Name "File_Name"
from CDB_Data_Files inner join Containers using (Con_ID)
union
select Con_ID,Con_Name "Con_Name",Tablespace_Name "T'space_Name",File_Name "File_Name"
from CDB_Temp_Files inner join Containers using (Con_ID)
order by 1, 3;
CON_ID Con_Name T'space_Name File_Name
---------- ---------------- ------------------------------ ----------------------------------------------------------------------------------------
1 CDB$ROOT SYSAUX +DATA/JIEKEXU/DATAFILE/sysaux.258.1082219405
1 CDB$ROOT SYSTEM +DATA/JIEKEXU/DATAFILE/system.257.1082219301
1 CDB$ROOT TEMP +DATA/JIEKEXU/TEMPFILE/temp.264.1082219523
1 CDB$ROOT UNDOTBS1 +DATA/JIEKEXU/DATAFILE/undotbs1.259.1082219451
1 CDB$ROOT UNDOTBS2 +DATA/JIEKEXU/DATAFILE/undotbs2.269.1082221805
1 CDB$ROOT USERS +DATA/JIEKEXU/DATAFILE/users.260.1082219453
3 JIEKEXUPDB1 SYSAUX +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/sysaux.275.1082222507
3 JIEKEXUPDB1 SYSTEM +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/system.274.1082222507
3 JIEKEXUPDB1 TEMP +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/TEMPFILE/temp.276.1082222513
3 JIEKEXUPDB1 UNDOTBS1 +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/undotbs1.273.1082222507
3 JIEKEXUPDB1 UNDO_2 +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/undo_2.277.1082222553
3 JIEKEXUPDB1 USERS +DATA/JIEKEXU/CB00B60A29FFA77AE053814BA8C06D60/DATAFILE/users.278.1082222557
12 rows selected.
8.6 SQL 连接提示符修改
cd $ORACLE_HOME/sqlplus/admin
vi glogin.sql
set linesize 250
set pagesize 9999
col Name format a80
col owner format a30
col file_name for a88
set termout off
ALTER SESSION SET nls_date_format = 'yyyy-mm-dd HH24:MI:SS';
set termout on
set serveroutput on size 1000000
set long 2000
set time on
set timing on
define _editor=vi
set sqlprompt "_user'@'_connect_identifier> "
8.7 安装 rlwrap
*安装 rlwrap 包实现 sqlplus 历史命令上下翻转回退等操作。*
先使用 yum 安装 readline(一定要安装成功) 然后编译安装 rlwrap
下载 https://github.com/hanslub42/rlwrap/releases
# yum install -y readline*
# tar -zxvf rlwrap-0.45.2.tar.gz
# cd rlwrap-0.45.2
# ./configure && make && make install
添加 oracle 用户环境变量
# su - oracle
$ cat <<EOF>>/home/oracle/.bash_profile
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'
alias ggsci='rlwrap ggsci'
alias sas=’sqlplus / as sysdba’
EOF
$ . .bash_profile --生效
Linux 64 位 19.12 RU :https://www.modb.pro/download/137693
Linux 64 位 RAC 安装包:https://www.modb.pro/download/5713
吐血整理,实属不易,原作者更加辛苦,如认真阅读,此文一定对您有帮助,欢迎点赞、在看与转发,写作不易,坚持写作更不易,您的点赞、转发,举手之劳,便是对作者最大的支持,也能让更多的人受益,感谢!
——————————————————————--—--————
公众号:JiekeXu DBA之路
墨天轮:https://www.modb.pro/u/4347
CSDN :https://blog.csdn.net/JiekeXu
腾讯云:https://cloud.tencent.com/developer/user/5645107
————————————————————————----———